Ursache: Die Portzugriffe auf die Standard-Portadresse 378h des eingebauten Parallelports werden teilweise von ntvdm.exe verschluckt.
Die Wirkung ist schlicht ein Eintrag in der Registry:
Den Erfolg kann man durch Aufruf von debug (DOS debug) prüfen — wenn vorhanden:
Das Programm schließlich muss auf Adresse 100 (hex ist gemeint, für LPT1) gestellt werden. Es zieht nicht (wie vielleicht andere Programme) den BIOS-Datenbereich heran.
Das installierte Programm verweigert seinen Dienst, wenn man es von einem anderen Betriebssystem aus startet ohne es erneut zu installieren. Lästig. Das verhindert auch den bequemen Start von einem USB-Stick.
Folgende Dateien sollten aus dem Installations-Windows-Verzeichnis ins Verzeichnis zu winchip.exe bewegt werden:
Folgende Datei muss aus dem Installations-Windows-Verzeichnis in das aktuelle Windows-Verzeichnis kopiert werden:
Beachte: Die Datei winchip.ini enthält u.a. folgende Einstellungen:
Im Fall USB-Speicherstick kann eine kleine .cmd-Datei das Problem lösen und vor dem Start von winchip.exe diese Datei ins Windows-Verzeichnis kopieren — und nach dem Beenden zurück. Außerdem kann diese gleich den Pfad zu den Programmieralgorithmen anpassen, inpout32.dll starten usw.
Im übrigen handelt es sich um Bloatware. Sogar gespeicherte HEX-Dateien werden mit überflüssigen, mit Leerzeichen aufgefüllten Leerzeilen am Ende ausgespuckt.
Unübliche Portadressen für das Parallelport, normalerweise ein großes Ärgernis von PCI- und PCIexpress-Karten, machen für dieses Programm keine Probleme! Einfach die (erste) Portadresse, die im Gerätemanager angezeigt wird, eintragen und benutzen.
☺ Daher gibt's auch keine komplizierte Lösung.
Keine Lösung!
16-bit-Programme laufen nicht. Beschweren Sie sich bei Microsoft. wine für Windows dürfte Ihr Problem nicht wirklich lösen, sondern nur neue schaffen.
Erst die Offenlegung des Quelltextes oder zumindest der Parallelport-Schnittstelle und Neuerstellung eines 32- oder 64-Bit-Programms schafft Abhilfe. (Im übrigen auch eine rasante Beschleunigung des USB2LPT. Sowie des gesamten Programmiergerätes. Abgesehen davon, aktuelle Chips brennen zu können.) Aber das wird der Hersteller nicht wollen, er will ja seine USB-Programmiergeräte verkaufen.
Sollte man sich genau überlegen! Auch mein High-Speed-USB2LPT ist gähnend langsam. Es funktioniert, immerhin. Einen 64-KByte-EPROM auszulesen dauert:
Ich wiederhole noch mal gebetsmühlenartig: Es liegt nicht am USB2LPT, dass alles so langsam ist, sondern an der Closed-Source-Programmiersoftware.
Das Programmieren von Schaltkreisen, die definierte Programmierimpulslängen benötigen, ist mit modernen Betriebssystemen sowieso heikel. Es ist hier unklar, ob die Pulslängen von der Hardware oder der Windows-Software generiert werden.
Besser man achtet beim Kauf des Laptops auf einen ExpressCard-Slot und beschafft für diesen einen Parallelport-Adapter, bspw. diesen.Dazu musste eine störende Firmware vom EEPROM gelöscht werden; Vorgehensweise:Im Versuch wurde kurzerhand ein geeigneter Adapter bei eBay gekauft, verdrahtet und mit der USB2LPT-Firmware gefüllt.
- Jumper (auf der Platine rechts unten am 24LC128) ziehen und Adapter an USB anstecken
- EZUSB (usb2lpt.zip/src/fwutils/ezusbw2k.sys) am Rechner enumerieren lassen
- Jumper stecken
- "brenner.exe usb2lpt2.iic" ausführen, Seriennummerneingabe ignorieren
- USB2LPT (usb2lpt.zip/de/usb2lpt.inf) enumerieren lassen
- "LöscheFirmware.exe" ausführen (das löscht das ärgerliche 0xC0-Byte am Anfang)
Weiteres Vorgehen wie in der Anleitung zum USB2LPT 1.7 (ab Mitte des Films).
Das Programmiergerät hat kein Problem mit 3,3-V-Pegeln und den fehlenden Pull-Ups an den Statusleitungen; die Leitungslängen sind ja auch minimal.
Es ist vorteilhaft, sowohl für den Adapter (siehe Geräte-Manager) als auch in der Software (winchip.exe) eine Nicht-Standard-Portadresse einzustellen, wie oben angegeben. Dann werden Debugregister-Traps nicht benötigt.
Man achte beim Kauf eines solchen Adapters darauf:
Beim Betriebssystem-Update kann allerdings alles wieder in die Binsen gehen, da Microsoft aufs neue versucht, alte Schnittstellen kaltzustellen. (Das betrifft u.a. sämtliche auch Marken-PCI-Netzwerkkarten mit BNC bereits unter Windows Vista.)